package com.nhjf.model.coursesSeries;


import com.nhjf.model.BaseModel;
import com.nhjf.model.coursePicture.CoursePicture;
import com.nhjf.model.teachers.Courses;
import com.nhjf.model.teachers.Teacher;

import org.hibernate.annotations.GenericGenerator;

import javax.persistence.*;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * 课程实体
 */
@SuppressWarnings("serial")
@Entity
@Table(name = "coursesSeries")
public class CoursesSeries extends BaseModel {

	/**
	 * 主键
	 */
	@Id
	@GeneratedValue(generator = "generator")
	@GenericGenerator(name = "generator", strategy = "native")
	@Column(name = "id", unique = true)
	private Long id;


	/**
	 *课程标题
	 */
	@Column(name = "totalTitle")
	private String totalTitle;

	/**
	 *二级课程标题
	 */
	@Column(name = "courseSecondaryTitle")
	private String courseSecondaryTitle;


	/**
	 *课程简介
	 */
	@Column(name = "totalDetails")
	private String totalDetails ;


	/**
	 *视频封面
	 */
	@Column(name = "cover")
	private String cover;


	/**
	 *人气值
	 */
	@Column(name = "popularity")
	private Integer popularity;
	/**
	 *一级分类
	 */
	@Column(name = "courseTypeOne")
	private Long courseTypeOne;



	/**
	 *二级分类
	 */

	@Column(name = "courseTypeTwo")
	private Long courseTypeTwo;

	/**
	 *讲师
	 *//*
	@Column(name = "teacher")
	private String teacher;*/


	/**
	 *是否付费(1免费2付费)
	 */
	@Column(name = "isPrice")
	private Integer isPrice;


	/**
	 *费用
	 */
	@Column(name = "price")
	private Integer price;

	/***
	 * 上传人
	 */
	@OneToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "uploader")
	private Teacher uploader;

	/**
	 * 所属机构
	 */
	@Column(name = "affiliation")
	private Long affiliation;


	/**
	 *课程共享模式：1机构专供、2平台共享、3机构内部免费，平台共享收费
	 */
	@Column(name = "courseShare")
	private Integer courseShare;




	//发布时间
	@Column(name = "creaTime")
	private Date creationTime;
	/**
	 * 视频时间
	 */
	@Column(name = "totalLength")
	private String totalLength;
	/**
	 * 是否审核 0:未审核、1:以审核、2:未通过
	 */
	@Column(name = "isReview")
	private Integer isReview;
	/**
	 * 1:是系列课，2：不是系列课
	 */
	@Column(name = "isSeriesLesson")
	private Integer isSeriesLesson;
	/**
	 * 是否置顶：1是置顶，2不是置顶
	 */
	@Column(name = "isTopping")
	private Integer isTopping;
	/**
	 * 是否发布:1未发布、2已发布
	 */
	@Column(name = "isRelease")
	private Integer isRelease;
	/**
	 * 是否绝学1:是、2 0：不是
	 */
	@Column(name = "isSchooling")
	private Integer isSchooling;
	@Transient
	private String selfintroduction;
	
	@Transient
	private Integer coursesCommentCount;
	//课程状态：1收费、2免费、3无权限
	@Transient
	private Integer coursesStatus;
	
	@Transient
	private Integer coursesCollectionCount;
	@Transient
	private Integer isCollection=0;
	@Transient
	private List<Courses> coursesList;
	@Transient
	private List<CoursePicture> coursePictureList;
	@Transient
	private Long userId;
	//1代表未购买课程2代表已购买课程
	@Transient
	private Integer successPay=1;
	
	public Integer getSuccessPay() {
		return successPay;
	}
	public void setSuccessPay(Integer successPay) {
		this.successPay = successPay;
	}
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public String getTotalTitle() {
		return totalTitle;
	}
	public void setTotalTitle(String totalTitle) {
		this.totalTitle = totalTitle;
	}
	public String getCourseSecondaryTitle() {
		return courseSecondaryTitle;
	}
	public void setCourseSecondaryTitle(String courseSecondaryTitle) {
		this.courseSecondaryTitle = courseSecondaryTitle;
	}
	public String getTotalDetails() {
		return totalDetails;
	}
	public void setTotalDetails(String totalDetails) {
		this.totalDetails = totalDetails;
	}
	public String getCover() {
		return cover;
	}
	public void setCover(String cover) {
		this.cover = cover;
	}
	public Integer getPopularity() {
		return popularity;
	}
	public void setPopularity(Integer popularity) {
		this.popularity = popularity;
	}
	public List<Courses> getCoursesList() {
		return coursesList;
	}
	public void setCoursesList(List<Courses> coursesList) {
		this.coursesList = coursesList;
	}
	public Long getCourseTypeOne() {
		return courseTypeOne;
	}
	public void setCourseTypeOne(Long courseTypeOne) {
		this.courseTypeOne = courseTypeOne;
	}
	public Long getCourseTypeTwo() {
		return courseTypeTwo;
	}
	public void setCourseTypeTwo(Long courseTypeTwo) {
		this.courseTypeTwo = courseTypeTwo;
	}
	public Integer getIsPrice() {
		return isPrice;
	}
	public void setIsPrice(Integer isPrice) {
		this.isPrice = isPrice;
	}
	public Teacher getUploader() {
		return uploader;
	}
	public void setUploader(Teacher uploader) {
		this.uploader = uploader;
	}
	public Long getAffiliation() {
		return affiliation;
	}
	public void setAffiliation(Long affiliation) {
		this.affiliation = affiliation;
	}
	public Integer getCourseShare() {
		return courseShare;
	}
	public void setCourseShare(Integer courseShare) {
		this.courseShare = courseShare;
	}
	public Date getCreationTime() {
		return creationTime;
	}
	public void setCreationTime(Date creationTime) {
		this.creationTime = creationTime;
	}
	public String getTotalLength() {
		return totalLength;
	}
	public void setTotalLength(String totalLength) {
		this.totalLength = totalLength;
	}
	public Integer getIsReview() {
		return isReview;
	}
	public void setIsReview(Integer isReview) {
		this.isReview = isReview;
	}
	public Integer getIsSeriesLesson() {
		return isSeriesLesson;
	}
	public void setIsSeriesLesson(Integer isSeriesLesson) {
		this.isSeriesLesson = isSeriesLesson;
	}
	public Integer getIsTopping() {
		return isTopping;
	}
	public void setIsTopping(Integer isTopping) {
		this.isTopping = isTopping;
	}
	public String getSelfintroduction() {
		return selfintroduction;
	}
	public void setSelfintroduction(String selfintroduction) {
		this.selfintroduction = selfintroduction;
	}
	public Integer getCoursesCommentCount() {
		return coursesCommentCount;
	}
	public void setCoursesCommentCount(Integer coursesCommentCount) {
		this.coursesCommentCount = coursesCommentCount;
	}
	public Integer getCoursesCollectionCount() {
		return coursesCollectionCount;
	}
	public void setCoursesCollectionCount(Integer coursesCollectionCount) {
		this.coursesCollectionCount = coursesCollectionCount;
	}
	public Integer getIsCollection() {
		return isCollection;
	}
	public void setIsCollection(Integer isCollection) {
		this.isCollection = isCollection;
	}
	public Long getUserId() {
		return userId;
	}
	public void setUserId(Long userId) {
		this.userId = userId;
	}
	public Integer getPrice() {
		return price;
	}
	public void setPrice(Integer price) {
		this.price = price;
	}
	public Integer getCoursesStatus() {
		return coursesStatus;
	}
	public void setCoursesStatus(Integer coursesStatus) {
		this.coursesStatus = coursesStatus;
	}
	public List<CoursePicture> getCoursePictureList() {
		return coursePictureList;
	}
	public void setCoursePictureList(List<CoursePicture> coursePictureList) {
		this.coursePictureList = coursePictureList;
	}
	public Integer getIsRelease() {
		return isRelease;
	}
	public void setIsRelease(Integer isRelease) {
		this.isRelease = isRelease;
	}
	public Integer getIsSchooling() {
		return isSchooling;
	}
	public void setIsSchooling(Integer isSchooling) {
		this.isSchooling = isSchooling;
	}
	




}
